<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  // 严格模式： 语法比普通js环境更严格的一种模式
  // 1，如何开启严格模式 ；"use strict"
  // "use strict"
  // 2.严格模式和普通模式区别
  // function fn(){
  // var a = 10;
  // }
  // fn();
  // console.log(a);
  // 必须声明之后才能使用变量
  // a = 10;
  // console.log(a);

  // 相同的形参

  // function fn(a,a){
  // console.log(a);
  // }

  // fn(10,20);


  // this的指向问题
  // 不要关注this的定义，一定要关注this的调用
  // function fn(){
  // console.log(this);
  // }
  // fn();


  // console.log(this);
  // var obj = {
  // name:"张安",
  // fn:function(){
  // console.log(this);
  // }
  // }

  // obj.fn();
  // var fn = obj.fn;
  // fn();

  // 事件 里的this
  // 事件源
  // document.onclick = function(){
  // // console.log(this);
  // // var that = this;
  // // setTimeout(function(){
  // // console.log(this);
  // // console.log(that);
  // // }, 1000);
  // var arr = [1,2,3];
  // arr.forEach(function(item){
  // console.log(this);
  // })
  // }
  // call apply bind
  // function Person(){
  // this.name = "张安";
  // console.log(this);
  // }

  // var zhangsan = new Person();

  // 严格模式 ：1.后期编译之后的代码自动加上 严格模式 2.前端模块化的时候会自动是一个严格模式

</body>

</html>